home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #14
/
Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO
/
pcboard
/
msgtag11.zip
/
READ.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-01-30
|
4KB
|
246 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
Int INT001
Int INT002
Int INT003
Int INT004
BigStr BIGSTR001
BigStr BIGSTR002
BigStr BIGSTR003
;------------------------------------------------------------------------------
INT001 = TokCount()
If (INT001) Then
STRING003 = ReadLine(PCBDat(), 204)
STRING003 = FileInf(STRING003, 6) + ":" + FileInf(STRING003, 7)
STRING002 = STRING003 + "mtg" + String(CurConf()) + ".lst"
STRING003 = ""
For INT002 = 1 To INT001
STRING003 = STRING003 + Upper(GetToken()) + ";"
Next
If (InStr(STRING003, "TAG")) Goto LABEL001
KbdStuff "R;" + STRING003 + Chr(13)
Goto LABEL006
Goto LABEL002
:LABEL001
Else
:LABEL002
If (Exist(PPEPath() + "read")) DispFile PPEPath() + "read", 4 + 1
Print "@X0BYou are currently in Conference: @X0A@CONFNAME@ @X07[@X0F@CONFNUM@@X07]"
Newline
If (Exist(STRING002)) Then
If (FileInf(STRING002, 4) > 0) Then
BIGSTR002 = ""
STRING003 = String(LoMsgNum()) + "-" + String(HiMsgNum())
STRING001 = "@X02[@X0FH@X02]elp,@X02(@X0F" + STRING003 + "@X02),@X02(@X0FTAG@X02)=@X03@X0BTagged @X03Msgs, @X0EEnter your message command"
InputStr STRING001, BIGSTR002, 14, 250, Mask_Ascii(), 8 + 256
If (BIGSTR002 == "") Goto LABEL006
If (BIGSTR002 == "TAG") Goto LABEL004
Goto LABEL003
Endif
Delete STRING002
Endif
:LABEL003
KbdStuff "R " + Chr(13)
Goto LABEL006
Endif
:LABEL004
Gosub LABEL007
Tokenize BIGSTR002
INT003 = TokCount()
If (INT003 > 20) Then
Gosub LABEL008
STRING003 = ""
STRING001 = " @X0BChoose set number to read @X0E(Enter=quit)@X07"
InputStr STRING001, STRING003, 14, 2, Mask_Num(), 256 + 4 + 2
If (STRING003 <> "") Then
Tokenize BIGSTR003
For INT002 = 1 To INT004
STRING004 = GetToken()
If (INT002 == ToInt(STRING003)) Then
STRING005 = Mid(STRING004, 1, InStr(STRING004, ",") - 1)
STRING006 = Mid(STRING004, InStr(STRING004, ",") + 1, Len(STRING004) - InStr(STRING004, ","))
BIGSTR002 = Mid(BIGSTR002, InStr(BIGSTR002, STRING005), InStr(BIGSTR002, STRING006) - InStr(BIGSTR002, STRING005) + Len(STRING006))
Break
Endif
Next
Goto LABEL005
Endif
BIGSTR002 = ""
Endif
:LABEL005
KbdStuff Chr(13) + "R;" + BIGSTR002 + Chr(13)
End
If (BIGSTR002 <> "") KbdStuff "R;" + BIGSTR002
:LABEL006
End
:LABEL007
FOpen 1, STRING002, 0, 0
FRead 1, BIGSTR002, FileInf(STRING002, 4)
FClose 1
Return
:LABEL008
PrintLn
PrintLn "@X0E┌──────────────────────────────────────────────────────────────┐"
PrintLn "│@X0BDue to a limitation of PCBoard, only 20 Message numbers can be@X0E│"
PrintLn "│@X0Bstacked to read at one time. Pick the @X0DSET NUMBER@X0B of tagged @X0E│"
PrintLn "│@X0Bmessages you wish to read. @X0E│"
PrintLn "@X0E└──────────────────────────────────────────────────────────────┘"
PrintLn
PrintLn "@X0FSet # @X0CTagged Message Numbers@X07"
PrintLn "@X0A───── ────────────────────────────────────────────────────────"
INT004 = 1
Print Space(3 - Len(String(INT004))), "@X0F", INT004, Space(4)
INT002 = 0
BIGSTR003 = ""
BIGSTR001 = BIGSTR002
Gosub LABEL009
Print "@X02", STRING003, " "
BIGSTR003 = STRING003 + ","
Inc INT002
While (1) Do
Select Case (INT002)
Case 20
BIGSTR003 = BIGSTR003 + STRING003 + ";"
INT002 = 0
PrintLn
PrintLn
Gosub LABEL009
If (STRING003 == "") Then
BIGSTR003 = BIGSTR003 + STRING004 + ";"
Break
Endif
Inc INT004
Print Space(3 - Len(String(INT004))), "@X0F", INT004, Space(4)
Print "@X02", STRING003, " "
BIGSTR003 = BIGSTR003 + STRING003 + ","
Inc INT002
Continue
Case 10
PrintLn
Print Space(7)
End Select
Gosub LABEL009
If (STRING003 == "") Then
BIGSTR003 = BIGSTR003 + STRING004 + ";"
Newlines 2
Break
Endif
Print "@X02", STRING003, " "
Inc INT002
STRING004 = STRING003
EndWhile
Return
:LABEL009
STRING003 = Mid(BIGSTR001, 1, InStr(BIGSTR001, ";") - 1)
BIGSTR001 = Mid(BIGSTR001, InStr(BIGSTR001, ";") + 1, Len(BIGSTR001) - InStr(BIGSTR001, ";"))
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 30 Goto
; 34 Let
; 7 Print
; 12 PrintLn
; 18 If
; 1 DispFile
; 1 FOpen
; 1 FClose
; 1 Delete
; 2 InputStr
; 5 Gosub
; 3 Return
; 4 Inc
; 1 Newline
; 1 Newlines
; 2 Tokenize
; 4 KbdStuff
; 1 FRead
;
;
; ■ Functions used :
;
; 38 +
; 7 -
; 7 ==
; 2 <>
; 2 <
; 2 <=
; 2 >
; 4 >=
; 14 !
; 4 &&
; 2 ||
; 5 Len(
; 1 Upper()
; 5 Mid()
; 5 Space()
; 4 Chr()
; 10 InStr()
; 5 String()
; 1 Mask_Num()
; 1 Mask_Ascii()
; 1 CurConf()
; 1 PCBDat()
; 2 PPEPath()
; 1 ReadLine()
; 2 GetToken()
; 2 Exist()
; 4 FileInf()
; 2 TokCount()
; 1 ToInt()
; 1 LoMsgNum()
; 1 HiMsgNum()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 1 While/EndWhile
; 8 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------